Field of the Invention
Embodiments of the present invention relate generally to computer-aided design and, more specifically, to a system-level approach to goal-driven design.
Description of the Related Art
Engineers often use computer-aided design (CAD) tools to design individual parts of larger systems. For example, an engineer may use a conventional CAD tool to design the chain ring of a bicycle to meet certain design criteria. During the design process, engineers typically employ a workflow that involves formulating the problem to be solved, conceptualizing a potential design, using a CAD tool to generate the design, and then simulating the generated design, via the CAD tool, to determine whether the design criteria have been met.
Returning to the bicycle example, the engineer could first formulate the problem to be solved as the need to transfer torque applied via the bicycle pedals into tension that can be transferred elsewhere. Then, the engineer could conceptualize a potential design that involves a chain ring coupled to a chain that transfers torque from the gear into the chain. The engineer could subsequently use a CAD tool to generate a specific design for the chain ring. Finally, the engineer could use a simulation package included in the CAD tool to simulate the design. This general approach to design suffers from several problems.
First, conventional CAD tools usually can only be used to design individual parts. However, the design criteria associated with each part are usually constrained by other parts in the overall system. In the bicycle example, the particular length of each gear tooth in the chain ring would be constrained by the anticipated amount of torque needed to be transferred to the chain, which, in turn, would be driven by the crankshaft length. Conventional CAD tools generally do not account for the system-level context within which each individual part resides.
Second, conventional CAD tools usually require the engineer to design each individual component of a system and then assemble those components together, even when the ultimate assembly falls within a well-known class of structures. In the bicycle example, the engineer would be required to design the chain ring, the crankshafts, the pedals, and the chain and then physically organize those components into the desired system-level configuration. However, bicycle chain assemblies are well known bicycle systems. Consequently, the conventional design approach requires needless repetition of known tasks.
Finally, despite the fact that centuries of engineering knowledge exists, conventional CAD tools have no way to draw from this knowledge base for the benefit of the current designer or engineer. In the bicycle chain ring example, the designer or engineer would be required to design each individual gear tooth, despite the fact that gears and gear teeth are well-known constructs for which there are numerous pre-existing deigns. Having to re-design well understood elements can lead to extended design times and increased frustration on the part of designers and engineers.
In sum, conventional CAD tools (i) are only applicable to individual parts, (ii) cannot configure assemblies of parts in meaningful ways, and (iii) cannot benefit from available engineering knowledge.
As the foregoing illustrates, what is needed in the art are more effective approaches to generating system-level designs.